package cn.yitun.chat.yitunserverimbase.dao.login;

import cn.yitun.chat.yitunservercommonlib.dataentity.dto.login.OnlineUserDto;
import cn.yitun.chat.yitunservercommonlib.dataentity.vo.login.OnlineUserVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserJwtDao {

    /**
     * 更新用户jwt
     * @param jwtUserPo
     */
    void updateJwt(OnlineUserDto jwtUserPo);

    /**
     * 更新用户sock_code
     * @param jwtUserPo
     */
    void updateSockCode(OnlineUserDto jwtUserPo);

    void saveJwt(OnlineUserDto jwtUserPo);

    /**
     * 获取用户token对象
     * @param userId
     * @return
     */
    OnlineUserVo getUserJwt(@Param("userId") Long userId);

    /**
     * 获取在线人员列表
     * @param userDto
     * @return
     */
    List<OnlineUserVo> list(OnlineUserDto userDto);

    /**
     * 定时更新用户登录状态
     * @return
     */
    void checkLoginStatus();
}
